Networks being based on packet switching as a network with an asynchronous transfer mode (ATM) or a network using the internet protocol (IP) have inconsistent delay characteristics. Typical events as routing, a possible congestion due to the presence of variable length buffers and other protocol handling procedures may easily cause a quite high total end-to-end delay and/or a delay variation.
Some applications like an echo cancellation or an echo suppression need to know the exact round-trip delay for an appropriate echo removing performance. An echo canceller has a limited delay matching capability which nowadays is typically in the range of 0 to 150 ms. An echo canceller can handle the delay variation of a packet switched network easily in this range, but the total round-trip delay may become a problem, since the delays may go far beyond this capability. For example, in networks using the internet protocol (IP) the induced delay may be in the range of 0-1000 ms.
Particularly, this problem may arise if a packet network connection is in the echo path of an echo removing device such as an echo canceller or echo suppressor. Reference is made to ETSI document TR 101 307, wherein such scenarios are described, and to ETSI document EG 201 050, wherein examples for echo suppressors and echo cancellers are given. Moreover, a specification describing the recommendations for internet protocol (IP) terminals regarding acoustic echo controllers is included in the document ITU-T G.167, and a specification describing the recommendations for echo cancellers for Voice over Internet Protocol (VoIP) gateways is included in the document ITU-T G.168.
Such a configuration is needed if an echo removing device at the far-end is missing or if it is malfunctioning in such a way that some echo is leaked through to the near-end. In a native terminal using the internet protocol (IP) in which a high quality echo removing device might be missing, most probably far-end echo is not cancelled sufficiently. Therefore, it is required that the near-end obtains a far-end echo cancellation over the internet protocol (IP) network.
In echo cancellers, the round-trip delay is typically obtained from the estimated echo impulse response which is generated by the adaptive filter of the echo canceller. This delay information is usually used for adjusting the timing of the non-linear processor of the echo canceller. However, if the round-trip delay exceeds the length of the adaptive filter, the echo estimation cannot be modeled, and therefore, the echo is not cancelled. To overcome longer delays, the length of an adaptive filter could be increased. However, a longer filter results in increased processing and memory requirements. Furthermore, the convergence speed is decreased, and the residual echo level and noise floor after the echo estimation and echo subtraction is higher with longer adaptive filters, i.e. the performance is degraded.
An approach to avoid long adaptive filters is a windowed adaptive filter, in which a shift register precedes the adaptive filter. Therein, the length of the shift register could be adjusted according to the round-trip delay such that the peak of the echo impulse response hits somewhere onto the middle of the adaptive filter. By this approach very long round-trip delays can be handled.
In order to cover the whole delay range, which is a requirement in packet switched networks, a delay search method has to be applied. Typically, the delay can be estimated by a cross-correlation algorithm between sent and received signals. For long delays, however, this requires a lot of memory and processing power. Moreover, it takes some time to find the actual delay, and thus, echo might be heard at the beginning of a call.
Apart from that, an echo suppressor does not contain any adaptive filter, and therefore, there are no inherent means to estimate the round-trip delay. However, an echo suppressor needs to know the round-trip delay in order to adjust its switching function to the proper phase according to the round-trip delay. With short delays, like in terminals, a pre-defined fixed timing can be used, whereas longer delays require a delay search method similar to that mentioned above, i.e. if an echo suppressor is used in a packet network it encounters the same problems as a windowed echo canceller.
One known possibility to measure the round-trip delay is that the delay-dependent application, e.g. an echo canceller or suppressor as mentioned herein, measures the delay itself by the use of the echo path impulse response, a cross correlation, etc. from the raw data available. That is, the delay is calculated from the speech sent and the echoed speech heard, i.e. from voice samples.
Unfortunately, it requires too much memory and/or processing power to thereby obtain the desired delay range. Further, a longer time is needed to find the delay value in longer round-trip delays.
Hence, there is a need for an alternative estimation of the echo round-trip delay for a windowed echo canceller and an echo suppressor, if a packet network connection is present in the echo path.